/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package compras.modelado;

import java.io.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;

/**
 *
 * @author hozkr
 */
public class Cotizacion extends Formularios {
String codigoRequisicion;
String codigoProveedor;
String producto;
double unitario;
double valor;



  public Cotizacion() {
    }
//Cotizacion(cod, fec, usr, are, prod, cant, fecReq, codReq, codPro, uni);
    public Cotizacion(String codigo, String Fecha, String usuario, String area,String codigoProducto, double cantidad, String fechaRequerida,String codigoRequisicion, String codigoProveedor,  double unitario) {
        this.codigoRequisicion = codigoRequisicion;
        this.codigoProveedor = codigoProveedor;
        this.producto = producto;
        this.unitario = unitario;
        this.valor = valor;
        
        this.codigo=codigo;
        this.fechaIngreso=Fecha;
        this.usuario=usuario;
        this.area=area;
        this.producto=codigoProducto;
        this.cantidad=cantidad;
        this.fechaRequerida=fechaRequerida;
        //codigo, codigoRequisicion, area, usuario, fechaIngreso, fechaAutorizacion, cantidad, usuarioAutoriza, fechaRequerida, codigoProveedor, producto, unitario, //
                 
    }
  
  

    @Override
    public String insertarDatos() {
        
        String msj;
        File file = new File("src\\archivos\\Cotizaciones.txt");        
        String linea="";
        try{
            Scanner in = new Scanner(System.in, "ISO-8859-1");
            //La flag de FileWriter en true es para agregar al final del archivo
            PrintWriter out = new PrintWriter(new FileWriter(file, true));
            linea = this.codigo + ", " + this.codigoRequisicion + ", " + this.area + "," + this.usuario + "," + this.fechaIngreso + "," + this.fechaAutorizacion +"," + this.cantidad+ "," + this.usuarioAutoriza+ ","+this.fechaRequerida+","+this.codigoProveedor+","+this.producto+","+this.unitario+",";
            //codigo, codigoRequisicion, area, usuario, fechaIngreso, fechaAutorizacion, cantidad, usuarioAutoriza, fechaRequerida, codigoProveedor, producto, unitario, valor,

            out.println(linea);    
            in.close();
            out.close();
            msj = "Datos insertados con exito";
        }
        catch(FileNotFoundException e1){
            msj = "ERROR: " + e1.toString();
        }
        catch(IOException e2){
            msj = null;
            e2.printStackTrace();
        }
        return msj;
        
    }

    @Override
    public ArrayList mostrarDatos() {
        
         ArrayList arry = new ArrayList();
        String line;
        String cod ;
        String codReq ;
        String are ;
        String usr ;
        String fec ;
        String fecAut ;
        double cant ;
        String usrAut ;
        String fecReq ;
        String codPro ;
        String prod ;
        double uni;
        
        File file = new File("src\\archivos\\Cotizaciones.txt");
        try{
            Scanner in = new Scanner(file, "UTF-8");
            while(in.hasNextLine()){           
               line = in.nextLine();
                in.useDelimiter(",");
                if(in.hasNext()){     
                    //codigo, codigoRequisicion, area, usuario, fechaIngreso, fechaAutorizacion, cantidad, usuarioAutoriza, fechaRequerida, codigoProveedor, producto, unitario, //
                    cod = in.next().trim();
                    codReq = in.next().trim();
                    are = in.next().trim();
                     usr = in.next().trim();
                     fec = in.next().trim();
                     fecAut = in.next().trim();
                     //
                     cant=Double.parseDouble(in.next().trim()) ; 
                     usrAut = in.next().trim();
                     fecReq = in.next().trim();
                     codPro = in.next().trim();
                     prod = in.next().trim();    
                     uni=Double.parseDouble(in.next());
                    Cotizacion c = new Cotizacion(cod, fec, usr, are, prod, cant, fecReq, codReq, codPro, uni);                    
                       arry.add(c);
                    
                }
            }         
            in.close();
        }
        catch(FileNotFoundException e1){
            arry = null;
            System.out.println("ERROR: " + e1.toString());
        }
        catch(IOException e2){
            arry = null;
            e2.printStackTrace();
        }
        return arry;
    }
    
  

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getFechaAutorizacion() {
        return fechaAutorizacion;
    }

    public void setFechaAutorizacion(String fechaAutorizacion) {
        this.fechaAutorizacion = fechaAutorizacion;
    }

    public String getFechaIngreso() {
        return fechaIngreso;
    }

    public void setFechaIngreso(String fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }

    public String getUsuarioAutoriza() {
        return usuarioAutoriza;
    }

    public void setUsuarioAutoriza(String usuarioAutoriza) {
        this.usuarioAutoriza = usuarioAutoriza;
    }

    
    public double getCantidad() {
        return cantidad;
    }

    public void setCantidad(double Cantidad) {
        this.cantidad = Cantidad;
    }

    public String getCodigoProveedor() {
        return codigoProveedor;
    }

    public void setCodigoProveedor(String CodigoProveedor) {
        this.codigoProveedor = CodigoProveedor;
    }

    public String getCodigoRequisicion() {
        return codigoRequisicion;
    }

    public void setCodigoRequisicion(String codigoRequisicion) {
        this.codigoRequisicion = codigoRequisicion;
    }

    public String getFechaRequerida() {
        return fechaRequerida;
    }

    public void setFechaRequerida(String fechaRequerida) {
        this.fechaRequerida = fechaRequerida;
    }


    public String getProducto() {
        return producto;
    }

    public void setProducto(String Producto) {
        this.producto = Producto;
    }

    public double getUnitario() {
        return unitario;
    }

    public void setUnitario(double Unitario) {
        this.unitario = Unitario;
    }

    public double getValor() {
        return this.unitario*this.cantidad;
    }
   
    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }


}
